﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Dijiang.Values
{
    public abstract class DFunction : DValue
    {
        protected DFunction()
        {
        }

        public abstract DValue Call(CmdEnv env, DSequence args);

        public abstract DValue Copy();

        public abstract bool Equals(DValue? other);

        public abstract DValue Eval(CmdEnv env);
    }
}
